function ajax(json) {
	if(json.datatype == 'jsonp') {
			//创建script 标签
			let script = document.createElement('script')
			//设置src用于跨域
			script.src = json.url+'?'+json_str(json.data)
			//插入HTML中
			document.body.appendChild(script)
			//设置回调函数
			window[json.callback] = function(data){
				//jsonp成功回调
				json.success(data)
				//移除script 标签
				document.body.removeChild(script)
			}	
	} else {
		//判断浏览器是否支持 XMLHttpRequest 对象
		if(window.XMLHttpRequest) {
			//				支持
			//正常创建xhr
			var xhr = new XMLHttpRequest
		} else {
			//不支持
			//去兼容ie5 ，6
			var xhr = new ActiveXObject("Microsoft.XMLHTTP")
		}
		//判断ajax请求方式
		if(json.type == 'get') {
			//配置get方法
			xhr.open('get', json.url + '?' + json_str(json.data), true)
			//发送
			xhr.send()
		} else if(json.type == 'post') {
			//配置post方式
			xhr.open('post', json.url, true)
			//设置请求头，规定发送类型字符串
			xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
			//发送
			xhr.send(json_str(json.data))
		}
		//监听ajax状态码改变
		xhr.onreadystatechange = function() {
			//判断ajax完成
			if(xhr.readyState == 4) {
				//判断http状态码
				if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
					//成功回调
					json.success(JSON.parse(xhr.response))
				} else {
					//失败回调
					json.error(xhr.status)
				}
			}
		}
	}
	//对象转换为字符串
	function json_str(json) {
		//空的数组，用来转换
		var arr = []
		//循环创建到数组里
		for(i in json) {
			arr.push(i + '=' + json[i])
		}
		//数组转换字符串
		var str = arr.join('&')
		//返回转换好的字符串
		return str
	}
}